/*
   This file is part of the 'Let's Do Stuff Together' project
   http://code.google.com/p/dostufftogether/

   Copyright 2010 Christoph Fuchs, Stefan Thaler

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 */
package org.sti2.letsdostuff;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;

/**
 * 
 * Android activity. Displays the home screen and creates the menu.
 * 
 * @author Christoph 'Gigi' Fuchs
 *
 */
public class LetsDoStuff extends Activity {
	
	/** The button create. */
	private Button buttonCreate;
	
	/** The is logged in. */
	public static boolean isLoggedIn = false;

	private Button buttonFindLocal;

	private Button quit;

	/**
	 * Called when the activity is first created.
	 * 
	 * @param savedInstanceState the saved instance state
	 */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        buttonCreate = (Button) findViewById(R.id.button_createActivity);
        buttonFindLocal = (Button) findViewById(R.id.button_findLocalActivities);

        // Create two separate onClickListeners here rather than forwarding the
		// user in the create activity view if he is not logged in, since the
		// user would be able to navigate back to the 'create activity' page
		// using the back button
        if (isLoggedIn) {
			// Switch to create activity view if the user is logged in already
	        buttonCreate.setOnClickListener(new View.OnClickListener() {
				@Override
				public void onClick(View v) {
					Log.i("View", "Switching to create activity view");
					Intent createActivityIntent = new Intent(v.getContext(), CreateActivity.class);
					startActivity(createActivityIntent);
				}
			});
        } else {
        	// Not logged in, switch to log in
        	buttonCreate.setOnClickListener(new View.OnClickListener() {
				@Override
				public void onClick(View v) {
					Log.i("View", "User is not logged in - switching to login view");
					Intent loginIntent = new Intent(v.getContext(), Login.class);
					startActivity(loginIntent);
				}
			});
        }
        
        buttonFindLocal.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				Log.i("View", "Switching to find local activities view (search results)");
				Intent findLocalIntent = new Intent(v.getContext(), SearchResults.class);
				startActivity(findLocalIntent);
			}
		});
    }
    
    
	/* (non-Javadoc)
     * @see android.app.Activity#onCreateOptionsMenu(android.view.Menu)
     */
    @Override
	public boolean onCreateOptionsMenu(Menu menu) {
		super.onCreateOptionsMenu(menu);

		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.layout.menu, menu);

		return true;
	}
    
    @Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {

		case R.id.quit:
			finish();
			return true;
		}

		return false;
	}
}